1. Field of the Invention
The present invention relates to a data synchronization system, and more particularly, to a technique for wireless data synchronization between a server and a client which can be connected to a wireless network.
2. Description of the Related Art
With development of wireless Internet technologies, a mobile computing environment where users can access data from anywhere at any time is becoming more distributed. Accordingly, users can use various applications including E-mail applications, planning applications, moving picture- and music-related applications, and address book applications, through desktop computers, or mobile devices, such as cellular phones, personal digital assistants (PDAs), or notebook computers. A user can distribute various data to the memory of a device, or copy and store various data in the memory of a device.
However, a mobile device is at risk of data loss because it can be easily lost or broken. For the reason, it is needed to back up data of a mobile device in the memory of a personal desktop computer or a specific server. However, since a user's mobile terminal is connected to a network only as necessary, due to accounting problems or network load problems, etc., data synchronization has to be performed periodically or non-periodically.
A user accesses a network periodically or non-periodically through his or her mobile terminal, transmits data changed in the mobile terminal to a storage server on the network, and receives updated data from the storage server on the network through the mobile terminal, thereby maintaining data synchronization. A representative data synchronization method is a data synchronization protocol, SyncML, defined by the Open Mobile Alliance (OMA).
FIG. 1 is a block diagram of a conventional data synchronization system. The data synchronization system consists of a first apparatus 10 and a second apparatus 20, which are connected to each other through a wireless network. The first apparatus 10 may be a client terminal, such as a cellular phone, a personal digital assistant (PDA), or a notebook computer, and the second apparatus 20 may be a server computer. On the contrary, it is also possible that the first apparatus 10 is a server computer and the second apparatus 20 is a client terminal.
The first apparatus 10 includes at least one application 11, a synchronization agent 12, a data storage unit 13, and a communication interface 14. The application 11 is a program for reading, processing, or storing synchronization data that is to be stored in the data storage unit 13. The synchronization agent 12 performs synchronization processing for the synchronization data that is to be stored in the data storage unit 13, according to a synchronization message transmitted from the second apparatus 20. The data storage unit 13 stores the synchronization data. The communication interface 14 is used to wirelessly connect the first apparatus 10 to the second apparatus 20.
The second apparatus 20 has the same construction as the first apparatus 10, and includes at least one application 21, a synchronization agent 22, a data storage unit 23, and a communication interface 24. Likewise, the application 21 is a program for reading, processing, or storing synchronization data that is to be stored in the data storage unit 23. The synchronization agent 22 performs synchronization processing for the synchronization data that is to be stored in the data storage unit 23, according to a synchronization message transmitted from the first apparatus 10. The data storage unit 23 stores the synchronization data. The communication interface 24 is used to wirelessly connect the second apparatus 20 to the first apparatus 10.
The data synchronization operation of the conventional data synchronization system as constructed above will be described below. For convenience of description, it is assumed that the first apparatus 10 is a client terminal, the second apparatus 20 is a server computer, and a user executes an application of managing an address book, edits the address book, and stores the edited address book in the data storage unit 13 of the first apparatus 10. The data storage unit 13 may be a flash memory of a mobile device.
After the address book is edited, the synchronization agent 12 is executed, and the first apparatus 10 is connected to the second apparatus 20 through the communication interface 14. The synchronization agent 12 can be executed manually by a user, or executed automatically by the system. The synchronization agent 12 generates a synchronization message, and transmits the synchronization message to the second apparatus 20. The second apparatus 20 interprets the synchronization message through the synchronization agent 22, and performs synchronization processing for synchronization data stored in the data storage unit 23.
The synchronization message includes data identification information for data that is to be synchronized, a synchronization command, and synchronization data. In this case, the data identification information for the data that is to be synchronized includes information about an address book, the synchronization command is an address book update command, and the synchronization data is edited address book data. The second apparatus 20 interprets the synchronization message through the synchronization agent 22, and stores the edited address book data in a location indentified by information indicating an address book stored in the data storage unit 23 according to the address book update command, thereby performing data synchronization processing.
However, in the conventional data synchronization system, when only some of data stored in a data storage unit need to be selectively synchronized, or when synchronization data needs to be processed not through a wireless network, the first apparatus 10 has to be wirelessly connected to the second apparatus 20, which increases user's accounting loads.
Accordingly, the present applicant proposes a method in which a synchronization message transmitting party transmits a synchronization message with meta information to a synchronization message receiving party so that it can be minimized the frequency of connections of the synchronization message receiving party to a wireless network for synchronization processing, user's accounting loads can be reduced, and synchronization processing can be effectively performed.